﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ProjetoBo.cs;
using ProjetoBe.cs;

namespace ProjetoForm
{
    public partial class CadastroIngresso : UserControl
    {

        private IngressoBe ingressoBe;
        private List<ResponsavelBe> ListaResposanvelBe;
        private CriancaBe criancaBe;

        CriancaBo criancaBo = new CriancaBo();
        ResponsavelBo responsavelBo = new ResponsavelBo();
        IngressoBo ingressoBo = new IngressoBo();


        FlowLayoutPanel Conteudo { get; set; }
        public CadastroIngresso(FlowLayoutPanel conteudo)
        {
            InitializeComponent();
            Conteudo = conteudo;
        }


        public void buscarIngresso()
        {
            ingressoBe = ingressoBo.ultimoIngressoGerado();
        }

        public void buscarCrianca()
        {
            criancaBe = criancaBo.buscarCriancaId(ingressoBe.idCrianca);
        }

        public void buscarResponsaveis()
        {
            ListaResposanvelBe = responsavelBo.buscarResponsaveisAtivosPorCriancaID(ingressoBe.idCrianca);
        }

        public void setCamposTela()
        {
            btn_ok.Enabled = true;

            txt_crianca.Text = criancaBe.nome;

            txt_responsavel.Text = ListaResposanvelBe[0].nome;

            txt_data.Text = ingressoBe.dataDeCompra.ToString();

            txt_dependencia.Text = ingressoBe.dependecia.ToString();

            txt_contador.Text = criancaBe.count.ToString();

            criancaBo.incrementarCont(criancaBe.id, criancaBe.count);

            txt_valor.Text = 4500.ToString();

            txt_desconto.Text = ingressoBe.desconto;

            txt_total.Text = ingressoBe.valor;

        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Visible = false;

            Forms.controleCadastroCrianca = new CadastroCrianca(Conteudo);
            Conteudo.Controls.Add(Forms.controleCadastroCrianca);

            Forms.controleCadastroCrianca.Visible = true;

            this.Refresh();

            btn_cadastrar.Enabled = false;
            btn_ingresso.Enabled = true;

        }

        private void btn_home_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            if (Forms.controleMenuHomeFuncionario == null)
            {
                Forms.controleMenuHomeFuncionario = new menuHomeFuncionario(Conteudo);
                Conteudo.Controls.Add(Forms.controleMenuHomeFuncionario);
            }
            Forms.controleMenuHomeFuncionario.Visible = true;
            this.Refresh();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                buscarIngresso();

                buscarCrianca();

                buscarResponsaveis();

                setCamposTela();

            }
            catch
            {
                MessageBox.Show("Cadastre uma criança !");
            }
        }

        private void btn_ok_Click(object sender, EventArgs e)
        {
            this.Visible = false;

            Forms.controleMenuHomeFuncionario = new menuHomeFuncionario(Conteudo);
            Conteudo.Controls.Add(Forms.controleMenuHomeFuncionario);

            Forms.controleMenuHomeFuncionario.Visible = true;
            this.Refresh();
        }

    }
}
